@echo off
chcp 65001 >nul
echo ========================================
echo 后端服务启动指南 (MySQL版本)
echo ========================================

echo 当前时间: %date% %time%
echo.

echo ========================================
echo 前置条件检查
echo ========================================
echo 请确保已执行以下步骤:
echo 1. MySQL服务已启动 (端口3306)
echo 2. 已运行 setup-mysql-databases.bat 初始化数据库
echo 3. 已安装MySQL JDBC驱动依赖
echo.

echo ========================================
echo 启动顺序说明
echo ========================================
echo 请按以下顺序在5个不同的终端窗口中启动服务：
echo.

echo ========================================
echo 终端1 - 用户管理服务
echo ========================================
echo 命令：
echo cd backend\microservices\user-management-service
echo mvn spring-boot:run
echo 端口: 8082
echo 数据库: user_management_db
echo 功能: 用户注册、登录、管理
echo.

echo ========================================
echo 终端2 - 课程管理服务
echo ========================================
echo 命令：
echo cd backend\microservices\course-management-service
echo mvn spring-boot:run
echo 端口: 8083
echo 数据库: course_management_db
echo 功能: 课程创建、管理
echo.

echo ========================================
echo 终端3 - 练习管理服务
echo ========================================
echo 命令：
echo cd backend\microservices\exercise-management-service
echo mvn spring-boot:run
echo 端口: 8085
echo 数据库: exercise_management_db
echo 功能: 练习、题目管理
echo.

echo ========================================
echo 终端4 - 学习进度服务
echo ========================================
echo 命令：
echo cd backend\microservices\learning-progress-service
echo mvn spring-boot:run
echo 端口: 8084
echo 数据库: learning_progress_db
echo 功能: 学习进度跟踪
echo.

echo ========================================
echo 终端5 - API网关
echo ========================================
echo 命令：
echo cd backend\microservices\api-gateway
echo mvn spring-boot:run
echo 端口: 8080
echo 功能: 统一入口、路由
echo.

echo ========================================
echo 验证服务启动
echo ========================================
echo 启动完成后，可以访问以下地址验证：
echo.

echo API网关: http://localhost:8080
echo 用户管理: http://localhost:8082
echo 课程管理: http://localhost:8083
echo 练习管理: http://localhost:8085
echo 学习进度: http://localhost:8084
echo.

echo ========================================
echo 健康检查
echo ========================================
echo 检查服务健康状态：
echo curl http://localhost:8080/actuator/health
echo curl http://localhost:8082/actuator/health
echo curl http://localhost:8083/actuator/health
echo curl http://localhost:8085/actuator/health
echo curl http://localhost:8084/actuator/health
echo.

echo ========================================
echo 数据库连接验证
echo ========================================
echo 验证数据库连接：
echo mysql -u root -pZcs200585! -e "SHOW DATABASES;"
echo.

echo ========================================
echo 注意事项
echo ========================================
echo 1. 确保每个服务在不同的终端窗口启动
echo 2. 等待每个服务完全启动后再启动下一个
echo 3. 如果端口被占用，请先停止相关服务
echo 4. 服务启动需要1-2分钟，请耐心等待
echo 5. 最后启动API网关，因为它依赖其他服务
echo 6. 确保MySQL服务持续运行
echo.

echo ========================================
echo 快速启动命令
echo ========================================
echo 复制以下命令到对应终端：
echo.

echo 终端1: cd backend\microservices\user-management-service ^& mvn spring-boot:run
echo 终端2: cd backend\microservices\course-management-service ^& mvn spring-boot:run
echo 终端3: cd backend\microservices\exercise-management-service ^& mvn spring-boot:run
echo 终端4: cd backend\microservices\learning-progress-service ^& mvn spring-boot:run
echo 终端5: cd backend\microservices\api-gateway ^& mvn spring-boot:run
echo.

pause
